home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games: Greatest Hits 1996 / Amiga Games: Greatest Hits 1996.iso / spiele / publicdomain / amigamud-tt / mystuff / trashcan.m < prev   
Text File  |  1996-07-08  |  1KB  |  40 lines

  1. /*
  2.  * trashcan.m - defines a magic trashcan which acts like the garbage room
  3.  */
  4.  
  5. use t_util.
  6. use t_base.
  7. use Characters.
  8.  
  9. private proc TrashcanPutIn(thing what, trashcan)status:
  10.   thing carryer;
  11.   string name,tname;
  12.  
  13.   carryer := Me();
  14.  
  15.   if carryer ~= nil then
  16.     CancelAllDoAfters(what);
  17.     name := FormatName(what@p_oName);
  18.     tname:= FormatName(trashcan@p_oName);
  19.     ZapObject(what);
  20.     if not carryer@p_pHidden then
  21.       OPrint(Capitalize(carryer@p_pName) + AAn(" drops", name) + " into the " + tname + ", which flashes brightly for a moment!\n");
  22.     else
  23.       OPrint(Capitalize(AAn("", name)) + " appears, descends into the " + tname + ", which flashes brightly for a moment!\n");
  24.     fi;
  25.     Print("You put the " + name + " into the " + tname + ", which flashes brightly for a moment!\n");
  26.     DelElement(carryer@p_pCarrying, what);
  27.     succeed
  28.   else
  29.     continue
  30.   fi
  31. corp
  32.  
  33. private o_Trashcan CreateThing(nil).
  34. o_Trashcan@p_oName := "trashcan;magic".
  35. o_Trashcan@p_oContents := CreateThingList().
  36. o_Trashcan@p_Image := "Trashcan".
  37. o_Trashcan@p_oNotGettable:=true.
  38. o_Trashcan@p_oPutInMeChecker:=TrashcanPutIn.
  39.  
  40.